
package com.hulk.dryad.manage.framework.lock.executor;



/**
 * 分布式锁核心处理器
 *
 * @author hulk
 * @see RedissonLockdExecutor
 */
public interface LockdExecutor {

    /**
     * 加锁
     *
     * @param key            分布式锁KEY
     * @param acquireTimeout 尝试获取锁超时时间 毫秒
     * @param expireTime         锁自动释放时间 毫秒
     * @return 是否上锁成功
     * @throws Exception 加锁过程中的所有异常
     */
    boolean acquireLock(String key, String acquireTimeout, String expireTime) ;


    /**
     * 释放锁
     *
     * @param key 分布式锁KEY
     */
    void releaseLock(String key);

}
